<!DOCTYPE html>
<html lang="en">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<meta charset="utf-8">
	<title></title>
	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no">
	<meta name="description" content="">
	<meta name="author" content="">
	<!-- STYLESHEETS --><!--[if lt IE 9]><script src="../../js/flot/excanvas.min.js"></script><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script><![endif]-->
	<link rel="stylesheet" type="text/css" href="../../css/cloud-admin.css" >
	<link rel="stylesheet" type="text/css"  href="../../css/themes/default.css" id="skin-switcher" >
	<link rel="stylesheet" type="text/css"  href="../../css/responsive.css" >	
	<link href="../../font-awesome/css/font-awesome.min.css" rel="stylesheet">
	<!-- SELECT2 -->
	<link rel="stylesheet" type="text/css" href="../../js/select2/select2.min.css" />
	<!-- UNIFORM -->
	<link rel="stylesheet" type="text/css" href="../../js/uniform/css/uniform.default.min.css" />
	<!-- datatable -->
    <link rel="stylesheet" href="../../js/datatables/datatable.css">
    <link rel="stylesheet" href="../../js/datepicker/datepicker.css">
    	<link rel="stylesheet" type="text/css" href="../../js/bootstrap-wizard/wizard.css" />
	<!-- FONTS 
	<link href='http://fonts.useso.com/css?family=Open+Sans:300,400,600,700' rel='stylesheet' type='text/css'>
-->
</head>
<body>
	<header class="navbar clearfix" id="header">
	</header>
	
	<!-- PAGE -->
	<section id="page">
				<!-- SIDEBAR -->
				<div id="sidebar" class="sidebar">
					<div class="sidebar-menu nav-collapse">
						
						<!-- SIDEBAR MENU -->
						<ul>							
							
						</ul>
						<!-- /SIDEBAR MENU -->
					</div>

				</div>
				<!-- /SIDEBAR -->
		<div id="main-content">
			<!-- SAMPLE BOX CONFIGURATION MODAL FORM-->
				<div class="modal fade" id="box-user"  role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
					<div class="modal-dialog">
						<div class="modal-content">
							<div class="modal-header">
								<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
								<h4 class="modal-title">用户信息</h4>
							</div>
							<div class="modal-body">	
							<form id="form-user">						
								<div class="form-group  mrg-bt10" >
									<label class="control-label col-md-3" style="line-height:34px;"><span class="required">*</span>用户姓名：</label>
									<div class="col-md-8">
								     <input type="text" class="form-control width-50" name="trueName" onfocus="this.select()" onmouseover="this.onfocus()" placeholder="请输入用户姓名" maxlength="10" />
								     <input type="hidden" name="id"/>
									</div>
								</div>
								<div class="form-group  mrg-bt10">
									<label class="control-label col-md-3" style="line-height:34px;"><span class="required">*</span>登录账号：</label>
									<div class="col-md-8">
									 <input type="text" class="form-control width-50" name="userName" onfocus="this.select()" onmouseover="this.onfocus()" placeholder="请输入登录账号" maxlength="20" />
									</div>
								</div>
								<div class="form-group  mrg-bt10">
											<label class="control-label col-md-3"><span class="required">*</span>登录密码：</label>
											<div class="col-md-8">
												<input type="text" class="form-control width-50" name="passworld" onfocus="this.select()" onmouseover="this.onfocus()" placeholder="请输入登录密码" maxlength="20" minlength="6" />									
											</div>
								</div>
								
								<div class="form-group  mrg-bt10">
									<label class="control-label col-md-3" style="line-height:34px;"><span class="required">*</span>选择角色：</label>
									<div class="col-md-8">
									<select id="role_select" class="col-md-12 select2-offscreen" multiple="multiple" name="roles" tabindex="-1">
															  
															</select>	
									</div>
								</div>
								</form>
							</div>
							<div class="modal-footer">
								<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
								<button type="button" class="btn btn-primary bt-save">保存</button>
							</div>
						</div>
					</div>
				</div>
				
				<!-- /SAMPLE BOX CONFIGURATION MODAL FORM-->
			<div class="container">
				<div class="row">
					<div id="content" class="col-lg-12">
						<!-- PAGE HEADER-->
						<div class="row">
							<div class="col-sm-12">
								<div class="page-header">
									<!-- STYLER -->
									
									<!-- /STYLER -->
									<!-- BREADCRUMBS -->
									<ul class="breadcrumb">
										<li>
											<i class="fa fa-home"></i>
											<a href="index.html">首页</a>
										</li>
										<li>
											<a href="#">用户管理</a>
										</li>
										<li>用户列表</li>
									</ul>
									<!-- /BREADCRUMBS -->
									
								</div>
							</div>
						</div>
						<!-- /PAGE HEADER -->
						<!-- FORMS QUERY-->
						<div class="row">
							<div class="col-md-12">
								<div class="row">
									<div class="col-md-12">
										<div class="box border primary">
											<div class="box-title">
												<h4><i class="fa fa-bars"></i>查询条件</h4>
											</div>
											<div class="box-body big" style="padding:10px;">												
												<form class="form-horizontal" role="form" id="form_User">
												  <div class="form-group mrg-bt10">
													<label class="col-sm-1 control-label" style="width: auto">用户名：</label>
													<div class="col-sm-2">
													  <input type="text" class="form-control" name="q" placeholder="输入关键字">
													</div>												
													
													<div class="col-sm-1">
									       				<a class="btn btn-primary search">查询</a>
													</div>
												  </div>
												 </form>
											</div>
										</div>
									</div>
								</div>		
						    </div>
						</div>
						<!-- /FORMS QUERY -->
					<div class="row" style="height: 30px;">
								<div class="col-md-12">
									<div class="box ">
										<a class="btn btn-success config create">
											<i class="fa  fa-plus-square-o"></i> 新增用户
										</a>
									</div>
								</div>
					    </div>						
					    <div class="row">
								<!-- TABLES -->
								<div class="col-md-12">
									<!-- BOX -->
									<div class="box border primary">
										<div class="box-title">
											<h4><i class="fa fa-table"></i>用户数：<span id="total"></span>条 </h4>
										</div>
										<div class="box-body">
											<table id="db_User_list" cellpadding="0" cellspacing="0" border="0" class="datatable table table-striped table-bordered table-hover">
												
											</table>
										</div>
									</div>
									<!-- /BOX -->
								</div>
							</div>
							<!-- /TABLES -->
						
						
						<div class="footer-tools">
							<span class="go-top">
								<i class="fa fa-chevron-up"></i> Top
							</span>
						</div>
					</div><!-- /CONTENT-->
				</div>
			</div>
		</div>
	</section>
	<!--/PAGE -->
	<!-- JAVASCRIPTS -->
	<!-- Placed at the end of the document so the pages load faster -->
	<!-- JQUERY -->
	<script src="../../js/jquery/jquery-2.0.3.min.js"></script>
	
	<!-- BOOTSTRAP -->
	<script src="../../bootstrap-dist/js/bootstrap.min.js"></script>
	<!-- BLOCK UI -->
	<script type="text/javascript" src="../../js/jQuery-BlockUI/jquery.blockUI.min.js"></script>
	
	<!-- AUTOSIZE -->
	<script type="text/javascript" src="../../js/autosize/jquery.autosize.min.js"></script>
	<!-- spinner -->
		<script src="../../js/spinner/spin.js"></script>
	<!-- DATA TABLES -->
		<script type="text/javascript" src="../../js/datatables/bootstrap-select.js"></script>
		<script type="text/javascript" src="../../js/datatables/datatable.js"></script>
		<script type="text/javascript" src="../../js/datatables/datatable-bootstrap.js"></script>
		<script type="text/javascript" src="../../js/datatables/datatable-tabletools.js"></script>
		<script type="text/javascript" src="../../js/datatables/fnAddTr.js"></script>

	<!-- INPUT MASK -->
	<script type="text/javascript" src="../../js/bootstrap-inputmask/bootstrap-inputmask.min.js"></script>
   	
	<!-- SELECT2 -->
	<script type="text/javascript" src="../../js/select2/select2.min.js"></script>
	<!-- UNIFORM -->
	<script type="text/javascript" src="../../js/uniform/jquery.uniform.min.js"></script>
	<script type="text/javascript" src="../../js/datepicker/datepicker.js"></script>
	<script src="../../js/jquery-validate/jquery.validate.min.js"></script>
     <!--bootbox-->
	<script type="text/javascript" src="../../js/bootbox/bootbox.min.js"></script>
	<!-- COOKIE -->
	<script type="text/javascript" src="../../js/jQuery-Cookie/jquery.cookie.min.js"></script>
	<!-- CUSTOM SCRIPT -->
	<script src="../../js/script.js"></script>
	<script src="../../js/common.js"></script>
		<script>		
		var User=function(){
	         var  $mainDataTable=null; 
	         var valiFrom=$("#form-user");
	        var formValiInit=function(){
	            valiFrom.validate({
	                doNotHideMessage: true,
					errorClass: 'error-span',
	                errorElement: 'span',
	                rules: {                	 
	                	userName:{required:true},
	                	trueName:{required:true},
	                	passworld:{required:true},
	                	roles:{required:true}       	
	                	
	                },
	                highlight: function (element) { 
	                    $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); 
	                },
	
	                unhighlight: function (element) { 
	                    $(element).closest('.form-group').removeClass('has-error'); 
	                },	
	                success: function (label) {
	                   label.addClass('valid').closest('.form-group').removeClass('has-error').addClass('has-success'); 
	                    }
	               
				 });
			};
			var getRoleList=function(){
			    $.ajax({
						type: "get",
						url: App.getContextPath() + "admin/sysrole/getRoleList.do",
						async: true,
						success: function(result) {
							if (result!=null) {
								var data = eval(result);
								var option;
								$.each(data, function(index, item) {
									option += "<option value='" + item.id + "'>" + item.name + "</option>";
								});
								$("#role_select").empty().append(option);
									
							}
							}
					});
			
			};
			
			
	         var editUser=function(){
	         showUserDialog();
	         	var id=$(this).attr("pid");
	         	$.ajax({
						type: "get",
						url: App.getContextPath()+"admin/sysuser/getUser.do",
						async: true,
						data: {userId:id},
						success: function(result) {
							if(result!=null){
							$("[name=userName]").val(result.username);
				        	$("[name=trueName]").val(result.trueName);
				        	$("[name=passworld]").val("");
				        	$("[name=id]").val(result.id);
							}
					     }
					   }); 
					
	         	
	         	
	         
	         };   
	         var delUser=function(){
	         	var id=$(this).attr("pid");
	         	$.confirm("确认删除此用户?",function(){
	         	$.ajax({
						type: "get",
						url: App.getContextPath()+"admin/sysuser/delUser.do",
						async: true,
						data: {id:id},
						success: function(result) {
							searchUser();
					     }
					   }); 
				});
	         };   
	         
	         var showUserDialog=function(){
	             $.clearInput();
	              getRoleList();
	             $("#box-user").modal("show");
	             formValiInit();
	             $(".bt-save").unbind("click").click(function(){
		             if(valiFrom.valid()==false)return false;
			             var user={};
			             user.id=$("[name=id]").val();
			             user.username=$("[name=userName]").val();
			             user.trueName=$("[name=trueName]").val();
			             user.password=$("[name=passworld]").val();
			             user.roles=[];
			             var selectRoles=$("#role_select").val();
			             $.each(selectRoles,function(index,item){
			                var role={};
			                role.id=item;
			                role.name= $("#role_select option[value="+item+"]").text();
			                user.roles.push(role);		             
			             });
		             
		         //判断用户是否存在
		          $.ajax({
							type: "post",
							url: App.getContextPath()+"admin/sysuser/findByUserName.do",
							async: true,
							data: {id:$("[name=id]").val(),userName:$("[name=userName]").val()},
							success: function(result) {
							 if(result==true){
							 	$.alert("用户名已经存在");
							 								
						     }else{
							     $.ajax({
								type: "post",
								url: App.getContextPath()+"admin/sysuser/saveUser.do",
								async: true,
								data: $.param({user:JSON.stringify(user)}),
								success: function(result) {
								  $("#box-user").modal("hide");
									searchUser();
							     }
							   }); 
		                      }
		             	}
		             });
				});	    
	         };    
	         
	         var searchUser=function(){
	          var url=App.getContextPath()+"admin/sysuser/searchUser.do?q="+$("input[name=q]").val();
	                    
			       if($mainDataTable){
			           $mainDataTable.api().ajax.url(url).load();	   		
		   		       return;	
			        }
		           var dtSetting = $.dataTableSetting({					
							"ajaxSource" :url,
							"serverSide" : true,
							"bFilter" : false,// 去掉搜索框
							"bLengthChange" : true,// 每页显示数量							
							"sScrollX":"100%",
							"sScrollXInner": "100%",
							"iDisplayLength": 25,							
							"bSort" : false,					
							"aoColumns" : [ {
								"mDataProp" : "id",
								"sTitle" : "用户ID",
								"width" : "10%"				
							}, {
								"mDataProp" : "username",
								"sTitle" : "用户账号",
								"width" : "10%"								
							}, {
								"mDataProp" : "trueName",
								"sTitle" : "真实名称",
								"width" : "10%"								
							}, {						
								"sTitle" : "角色",
								"mDataProp" : "headImageUrl",
								"width" : "10%",
								"render":function(data, type, row){
									var str="";
									$.each(row.roles,function(index,item){
										str+=item.name+",";
									});
									if(str.length>0)
									return str.substr(0,str.length-1);
									return "";
								}
													
							}	
							, {
								
								"sTitle" : "添加时间",
								"width" : "12%",
								"render":function(data, type, row){
								  return $.getLocalTime(row.createTime);
								}
							},{
							    "sTitle" : "状态",
								"width" : "12%",
								"render":function(data, type, row){
								  return "有效";
								}
							},{
							    "sTitle" : "操作",
								"width" : "12%",
								"render":function(data, type, row){
								 var str="<a class='btn btn-success btn-xs bt-edit btn-width' style='width:60px' pid="+row.id+"><i class='fa fa-pencil-square-o'></i>编辑</a>";
								 str+= "<a class='btn btn-danger btn-xs bt-del btn-width' style='width:60px;margin-left:10px' pid="+row.id+"><i class='fa fa-trash-o'></i> 删除</a>";
								  return str;
								
								}
							}]
						});
					
				      $mainDataTable = $("#db_User_list").dataTable(dtSetting);
	         };
	       
	         
	         return {	         
	         init:function(){	          
	            $(".search").click(searchUser);	
	            searchUser();	
	            $("#db_User_list").on("click",".bt-edit",editUser);
	            $("#db_User_list").on("click",".bt-del",delUser);
	            $(".create").click(showUserDialog);
	            $("#role_select").select2({placeholder:"选择角色"});
	          }
		    }
	      }();
	      
	      $(function(){
	      	$("#header").load("../head.html");
	        App.init(); //Initialise plugins and elements	        
	      	User.init();
	      	
	      });
		</script>
		<!-- /JAVASCRIPTS -->
</body>
</html>